تجربهی برنامهنویسی
زیبایی پروژههای منبع باز این است که هر کسی میتواند کد به پروژه اهدا کند. البته که اقدامات لازم برای جلوگیری از سوءاستفاده صورت میپذیرد و کدها فقط بعد از تأیید رهبر پروژه اعمال میشوند. مهم نیست که چه کسی کد را نوشته، بلکه آن چیزی که اهمیت دارد، کار کردن کد است.
همانگونه که انتظار میرود بسیاری از برنامه نویسان متوسط تمایل به کاوش پروژههایی که برایشان جذاب است و بررسی جاهایی که میتوانند تغییراتی را در آنها اعمال کنند، دارند. به عنوان مثال بسیاری از پروژهها از ابزاری برای پیگیری باگها و مشکلات برنامهها استفاده میکنند. این مشکلات از موارد بسیار ساده تا موارد بینهایت پیچیده متغیر است. در نتیجه زمانی که خبرهها در حال رفع مشکلات حیاتی هستند، تازهکارها میتوانند دستی به سر و گوش موارد ابتدایی بکشند.
- تجربیات کسب شده در یک پروژهی منبع باز میتوانند بسیار راهگشا باشند.
مزایای سه گانهی این روش عبارتند از:
- استفاده مؤثرتر از زمان با توجه به این که مشکلِ باگهای مختلف به صورت موازی حل میشود،
- کاردانها در چرخهی توسعه نرم افزار به راحتی باقی میمانند چرا که نیاز نیست وقتشان را صرف حل مشکلات ساده و البته زمانبری که پیش میآید، کنند،
- تجربیات ارزشمندی را کسب میکنند بدون این که خطری متوجه کسی نمایند.
در اصل اگر شما یک برنامه نویس تازهکار هستید و حداقل یک سال آموزش برنامه نویسی سفت و سخت دیدهاید (حتی اگر از خودآموزها استفاده کرده باشید)، اهدا کد به پروژههای اوپن سورس میتواند راهی برای یادگیری سریعتر زبان برنامه نویسی باشد.
یک رزومهی خوب دست و پا کنید
مسیر شغلی توسعه دهندهی منبع باز در جایی از مرحلهی «کسب تجربیات» به «مهارتهای ویژه» ارتقاء مییابد. اگر به دنبال کار میگردید، این سرمایهی کسب شدهی شما جای یک رزومهی معمولی را نمیگیرد ولی مکمل بسیار خوبی خواهد بود.
هر خط کدی که شما به یک پروژهی منبع باز اهدا میکنید، در دسترس عموم قرار میگیرد. هر چقدر بیشتر کد اهدا کنید، پروژه را بیشتر شکل میدهید. اگر پروژه در ادامه موفق شود به سود شما خواهد بود و اگر پروژه شکست بخورد، کاردانی، شم کاری و خبرگی شما را در هر حال به نمایش خواهد گذاشت.
- داشتن یک رزومهی خوب میتواند آیندهی شغلی شما را تحت تأثیر مستقیم خود قرار دهد.
هنرمندان به گزیدهی آثار خود زمانی که به دنبال شغل جدیدی میگردند، اشاره میکنند. نقاشها آثار ویژهی خود را زمانی که به دنبال مشتری میگردند به نمایش میگذارند، و بازی در زمین برنامه نویسی هم طبق همین روال در حال پیشروی است. حداقل در برخی جهات اینگونه است.
اگر در حال مصاحبه با یک شرکت بینالمللی هستید، که از سیستمهای قدیمی مثل کوبول، فورترن استفاده میکنند، این پشتوانهی توسعه مدرن، به کارتان نخواهد آمد. ولی اگر شما ابزارهای مرتبط با Django را توسعه دادهاید و برای جایگاه توسعهی بکاِند مصاحبه میشوید، این پشتوانه مطمئناً به شما کمک خواهد کرد.
در نتیجه اگر شما یک پشتوانهی حرفهای برای شغل برنامه نویسی میخواهید، یکی از دلایل بزرگی که شما باید به پروژههای منبع باز کمک کنید، همین است.
استفاده از محصول
بگذارید اینگونه فرض بگیریم که شما یک برنامه نویس بسیار مشتاق و البته آزمندید که از ابزارهای مختلف اوپن سورس در بخشی از جریان کاری استفاده میکنید. شما عاشق این ابزارها هستید و به آنها ایمان دارید و حتی تصور این که به ابزارهای دیگری فکر کنید برایتان ممکن نیست. ولی یک روز به یک باگ یا مشکل اساسی برمیخورید که کار شما را مختل میکند.
در مورد نرم افزارهای انحصاری به معنای واقعی دیگر هیچ راهی نخواهید داشت، البته که میتوانید یک درخواست برای رفع مشکل به کمپانی توسعهدهنده ارسال کنید و امیدوار باشید که یک وصله برای آن مشکل به سرعت ساخته و آمادهی ارائه شود ولی تضمینی وجود ندارد. در اصل حل شدن این موضوع میتواند ماهها (یا شاید سالها) زمان ببرد. نجات شما از این وضعیت تنها زیر سایهی لطف کمپانی مورد نظر امکانپذیر است.
- برنامههای منبع باز امکان تغییر کد، بهبود و کامپایل مجدد را برای شما فراهم میکنند.
ولی در پروژههای اوپن سورس میتوانید کدها را مرور کنید و مشکل را بیابید و در نهایت در صدد رفع آن برآیید. سپس آن را برای خودتان دو مرتبه کامپایل کنید. یا حتی اصلاحیهای برای حل مشکل ایجاد کرده و به مدیر پروژه بفرستید تا بعد از بررسی در صورت تأیید وصلهای توسط آن ایجاد شده و همه کاربران از آن بهره ببرند.
این روند ممکن است چند روز یا هفته طول بکشد ولی به وضوح بهتر از چیزیست که در نمونهی انحصاری اتفاق میافتد.
مبلغ فرهنگ اوپن سورس باشید
یکی از بزرگترین دلایلی که افراد به پروژههای منبع باز کمک میکنند، فلسفهی آن است. موضوع کاملاً روشنی است ولی اگر شوکه شدید لازم است بدانید که بسیاری از توسعه دهندگان به این ایدئولوژی باوری راسخ دارند. اگر هر کسی به مانند ما اوپن سورس گونه فکر کند جهان جای بهتری برای زندگی خواهد بود. این حقیقت که هر کسی میتواند یک پروژه را فورک کند قابل تقدیر است چرا که باعث بوجود آمدن رقابت و نوآوری خواهد شد.
- فلسفهی در پس محصولات اوپن سورس، توسعه دهندگان را مشتاق به حرکت در جهت آن میکند.
به عبارت دیگر این افراد به پروژههای اوپن سورس کمک میکنند چرا که آنها از این کار لذت میبرند. اوپن سورس هویت آنهاست و آنها به صورتی زندگی میکنند که باور دارند راه و روش درستی است. و اتفاقاً راه و روششان هیچ مشکلی ندارد.
مضاف بر آن، با اهدا به پروژههای اوپن سورس، این افراد با کسانی همسو و همفکر خود همکاری میکنند. مذهب، کلیسا دارد و توسعه دهندگان منبع باز پروژههای اوپن سورس را دارند. این همنشینی یک دلیل بزرگ برای درگیر شدن در یک پروژهی اوپن سورس است.
چگونه جبران کنیم؟
این موضوع که تنها راه کمک به جامعه اوپن سورس کد نویسی نیست یک امر بدیهی است. کد البته که مهم است اما راههای دیگری برای پشتیبانی وجود دارد که اتفاقاً مورد استقبال توسعه دهندگان واقع خواهد شد. شما روزانه از یک برنامه برای استفاده شخصی یا تجاری، بهره میبرید و عاشقانه کار با آن را دوست دارید. این برنامه زندگی شما را تغییر داده است و میخواهید به نحوی این محبت آن را جبران کنید، اما تجربهی کدنویسی ندارید. چه کاری از شما برمیآید؟ هدیه دادن همیشه یک گزینهی مناسب به نظر میرسد. یک هدیهی ده دلاری میتواند چند فنجان قهوه و یا یک شل ماءالشعیر شود. مهم نیست که اندازهی این هدیه چقدر کوچک است چرا که هرچقدر هم کم باشد، بازم هم به کار میآید.
- هر کسی میتواند با توجه به تواناییهای خود به پروژههای اوپن سورس کمک کند.
اسناد هم یک زمین بازی دیگر برای کسانی است که میخواهند به توسعهدهنده کمک کنند. این اسناد شامل نوشتههای فنی مانند راهنماها یا دانشنامههای اجتماعی مانند ویکیها هستند. برای مثال یک آموزش قدم به قدم میتواند به توسعهدهنده کمک کند تا او تمرکزش را بر روی کد زدن حفظ نماید.
بقیه پشتیبانیها مانند بومیسازی نرمافزار، ترجمه وب سایت یا یک معرفی ساده برای محصول در یک گفتگوی ابتدایی میتواند مفید باشد. آیا شما به یک پروژه منبع باز تا به حال کمک کردهاید؟ در چه حدی؟ اگر نه، چه چیزی شما را متقاعد میکند تا به آن کمک کنید؟ نظرات خود را با ما در میان بگذارید.